home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
101-125
/
scopedisk114
/
bynery
/
manual.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
36KB
|
1,040 lines
Amiga 500 - to - PC style Hard Disk Interface
A Demonstration Software/Hardware Construction Project
Products ByNery
14 Chambers Court
Mansfield, Ma. 02048
Copyright 1990, Products ByNery
Contents
Chapter 1 INTRODUCTION 1
1.1 Background . . . . . . . . . . . . . . . . . 1
1.2 Shareware Plea . . . . . . . . . . . . . . . 2
1.3 Performance . . . . . . . . . . . . . . . . . 2
1.4 Distribution Contents . . . . . . . . . . . . 3
1.5 DISCLAIMER . . . . . . . . . . . . . . . . . 3
Chapter 2 CIRCUIT ANALYSIS 4
Chapter 3 CONSTRUCTION 6
3.1 Wiring List . . . . . . . . . . . . . . . . 7
Chapter 4 CHECKOUT 11
Chapter 5 CONTROLLER/DISK DRIVE SELECTION 12
Chapter 6 INSTALLATION 13
6.1 Hardware . . . . . . . . . . . . . . . . . 13
6.2 Testing and Low-Level Formatting . . . . . 14
6.3 Software Installation . . . . . . . . . . . 14
Chapter 7 REGISTRATION 16
i
Chapter 1
INTRODUCTION
Are you fed up with the high cost of Amiga hard disks?
Do you wonder what you get when you purchase an interface to a
pc-disk?
Do you want a low cost alternative?
Well, here's your answer to all of the above questions and more.
This project will allow you to construct a LOW COST adapter that
allows the interface of a PC-style hard disk to the Amiga 500.
The adapter itself can be built for less than $20.00 and consists
of only 3 integrated circuits that cost less than $1.00 total.
The majority of the cost is for the two edge-board connectors.
What this means is that with a little shopping you should be able
to add a 10Meg disk for about $150.00, or $180 with a power
supply. That's about the same as the price of an external
floppy.
Section 1.1 Background
This project started about the time a Canadian Company introduced
a PC hard disk interface for the Amiga 500. As memory serves, for
over $150.00 you could get:
1. A schematic.
2. A device driver.
3. Some photos.
4. A bare PC board.
5. Instructions on where to BUY the parts and construct the
interface.
This treatment incensed me. I will never fault the Capitalistic
system, BUT, to be taken advantage of was certainly over and
above the normal rules. At that time, I decided to design an
interface and write a driver. The following files make up that
decision.
Before going straight to the design and implementing, please read
the following.
- 1 -
Section 1.2 Shareware (sorta) Plea
This project is SHAREWARE. The intent, as I see it, is to share
the development cost so that future improvements can be offered
as well as enhancements. BOTH OF WHICH WILL BE COMING TO THOSE
THAT REGISTER.
At first, and maybe still if enough request it when registering,
I was going to offer a circuit board to entice people to
register. The board is lazed out and I am currently running with
it. After researching the costs, I found it was going to cost
another $1000.00 to produce the first lot. Since I already have
invested about $1500, I decided not to offer a board.
Then why should you register? Easy, the driver supplied is only
a partial implementation. It will support any drive having at
least 4 heads and 306 cylinders. This translates to about 10 Meg
of disk.
If you register, you get:
1. A configurable driver, which provides:
* Both RLL and MFM controller support.
* Programmable drive size (tracks and heads).
* Support for 2 drives of different or same sizes.
2. User friendly installation/maintenance program.
3. A positive transparency to allow PC board manufacture.
4. A complete manual including instructions on how to make
the PC board.
The registration packages is completed and currently available.
For the sake of full disclosure, here are the known
deficiencies with the current revision of the REGISTERED driver,
rev 2.0.
1. All errors reported as 0 length transfers.
2. Drive does not AutoBoot.
3. All IO requests, except for immediate operations, are
queued. This is a performance issue only and transparent
to the user.
Section 1.3 Performance
The results of this project do not produce a screamer, based upon
the claims made by other manufacturers, however compared to a
floppy disk, I don't think you'll be disappointed.
The performance figures were supplied by the program:
DiskPerformance - V3.0 - 03/21/89
- 2 -
The test was run on the last partition of a 33 Megabyte,
Micropolis Disk controlled by a Western Digital RLL hard disk
controller, model 27X and an interleave of 10. The partition
size was 15 Megabytes and was empty.
Following are the results of the test:
File create/delete: create 16 files/sec, delete 40 files/sec
Directory scan: 102 entries/sec
Seek/read test: 83 seek/reads per second
r/w speed: buf 1024 bytes, rd 33608 byte/sec, wr 31968 byte/sec
r/w speed: buf 8192 bytes, rd 62415 byte/sec, wr 62415 byte/sec
r/w speed: buf 32768 bytes, rd 65536 byte/sec, wr 62415 byte/sec
Section 1.4 Distribution Contents
The following files are included in the evaluation package:
* Manual.Doc - This file.
* Schematic.part1 - IFF of first half of the schematic
for the hardware interface.
* Schematic.part2 - IFF of second half of the schematic
for the hardware interface.
* Layout.pic - IFF of suggested Construction Layout.
* prototype.pic - IFF of my prototype interface.
* ByNeryDemo.device - the device driver.
* install.ByNeryDemo - program to test interface and
low-level format the drive.
Section 1.5 DISCLAIMER
*****************************************************************
* DISCLAIMER *
* *
* NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO *
* THE ACCURACY, RELIABILITY, PERFORMANCE OR OPERATION OF THIS *
* DOCUMENTATION OR OF THE ByNeryDemo INTERFACE ITSELF. *
* *
* DUE TO THE NATURE OF THIS PROJECT, NEITHER THE AUTHOR NOR *
* Products ByNery CAN BE HELD LIABLE FOR DAMAGES, REAL OR *
* IMPLIED, RESULTING FROM THE CONSTRUCTION, INSTALLATION OR *
* RELIABILITY OF THIS PROJECT. *
* *
* *
*****************************************************************
- 3 -
Chapter 2
CIRCUIT ANALYSIS
The Amiga 500, as well as all Amiga family members, utilize the
Motorola 680x0 family of microprocessors. The Hard Disk
controller to which this project interfaces was designed for the
INTEL 808x family of microprocessors.
The Disk Controller requires the following signals:
1. Data Lines D0-D7.
2. Address Lines A0-A19.
3. *IOR - When low an I/O read operation is in progress.
4. *IOW - When low an I/O write operation is in progress.
5. RESET - When high the disk controller is reset.
The Amiga expansion bus provides the following signals:
1. Data Lines D0-D7. Note, only 8 bit access is used here.
2. Address Lines A1-A23. Note, there is no A0. This is due
to the fact that the Amiga is a true 16 bit machine.
3. R/*W - High, read. Low, write.
4. *LDS - When low, low memory byte is being accessed.
5. *RESET - When low, the Amiga 500 is being reset.
6. *AS - When low, a valid addres is present.
As you can see, the required lines don't exactly match the
signals provided by the Amiga. This project converts the Amiga's
signals to those expected by the controller.
The major difference lies in the memory mapped I/O used by the
Amiga versus the direct I/O porting used by the controller.
Conversion of the Amiga to a compatible form, requires that a
memory space, in the Amiga, be dedicated to the controller.
By utilizing the top eight address lines, A16 to A23, as the
input to an eight-bit comparator, it is possible to locate the
controller in any 32k memory boundary.
For this project I selected EF0000 as the base address. IC1, a
74LS688, in the schematic provides this comparison. The address
strobe, *AS, is used to indicate to the comparator that a valid
address is present, thereby enabling the comparator's output.
When address is enabled and the upper eight address lines
represent EF, a low is output by the comparator.
The output of the comparator is fed to two, three input NOR
gates. A second input to the NOR gates is *LDS, the lower data
- 4 -
strobe. The third input, of each NOR gate is either from the
R/*W line directly or inverted.
The NOR gate with the direct connection to R/*W, when inverted
maps directly to the controller's *IOW signal. The NOR gate with
the inverted connection to R/*W, when inverted becomes the
controller's *IOR signal.
The only other signal modification required is the inversion of
the Amiga's reset line.
To accommodate the differences in the address lines, the Amiga's
addresses will be shifted down by one. Therefore, Amiga A1 will
be connected to the controller's A0. This will be continued
until the Amiga A15 to the controller's A14. What about the
controller's other address lines? Easy, they are just connected
to ground.
Lastly, the controller's *MEMR, *MEMW, *DACK3 lines, features not
used in this interface, are all tied to 5 volts (ie. held high)
to prevent them from interfering.
- 5 -
Chapter 3
CONSTRUCTION
My prototype board was assembled using a combination of point-
to-point soldering and a wire pencil. The wire pencil is a
modification to the wire wrapping technique which allows the use
of standard, ie. not wire-wrap, sockets to be used. The catch
is that soldering must be used to finalize all connections. The
wire used has a special insulator that melts to allow soldering.
Unfortunately, it is easy to melt other wires insulation, as
opposed to just the one you meant, thereby causing a potential
short. This product is manufactured by VECTOR Corporation.
Interface Construction Parts:
Qty 1, 74LS688 (IC1) - eight bit comparator.
Qty 1, 74LS27 (IC2) - triple, three input NOR gates.
Qty 1, 74LS04 (IC3) - hex inverter.
Qty 1, 86 location on .1 inch center, edge board connector
Qty 1, 62 location on .1 inch center, edge board connector
Qty 1, perf board with solder pads on .1 inch centers.
Qty 1, 20 pin dip socket.
Qty 2, 14 pin dip socket.
Qty 3, 0.1 Microfarad Capacitors.
The two edge board connectors are available from:
Digi-Key Corporation
701 Brooks Ave. South
P.O. Box 677
Thief River Falls, MN 56701-0677
According to their Jan-Feb 1990 Catalog, No. 901, they are:
62 pin connector: part number C5-31, price $2.44 quantity 1
86 pin connector: part number C5-43, price $3.22 quantity 1
These are SOLDER-TAIL GOLD connectors. Although you will require
wire wrap connectors, for at least the 86 pin connector, these
can be made by utilizing Vector Corporations wire-wrap posts to
extend the pin length.
Wire wrap connectors are available, but it will require you to
search for them. I found them at two, local to me, electronic
retail stores but they cost about double for tin connectors.
- 6 -
Following IFF, Layout.pic:
- glue the sockets into position making sure the pin 1 tabs
are as indicated (square pad on layout).
- Install capacitors as indicated in Layout.pic.
- Connect one lead of Capacitor C1 to pin 20 of Socket for
IC1.
- Connect other lead of Capacitor C1 to pin 10 of Socket
for IC1.
- Connect one lead of Capacitor C2 to pin 14 of Socket for
IC2.
- Connect other lead of Capacitor C2 to pin 7 of Socket for
IC2.
- Connect other lead of Capacitor C3 to pin 7 of Socket for
IC3.
- Connect other lead of Capacitor C3 to pin 7 of Socket for
IC3.
- Install the 86 pin edge card connector as shown.
- Install the 62 pin edge card connector as shown.
Section 3.1 Wiring List
Connect the following wiring list:
FROM SIGNAL TO SIGNAL
======= ====== =================== ======
AMIGA 1 Ground AMIGA 2 Ground
AMIGA 3
AMIGA 4
IC1, pin 7
IC1, pin 10
IC2, pin 7
IC2, pin 9
IC2, pin 10
IC2, pin 11
IC3, pin 1
IC3, pin 7
IC3, pin 11
Controller B1
Controller B10
Controller B31
Controller A11
Controller A12
Controller A13
Controller A14
Controller A15
Controller A16
- 7 -
FROM SIGNAL TO SIGNAL
======= ====== =================== ======
AMIGA 5 5 Volts AMIGA 6 5 Volts
IC1, pin 20
IC1, pin 3
IC1, pin 5
IC1, pin 9
IC1, pin 12
IC1, pin 14
IC1, pin 16
IC1, pin 18
IC2, pin 14
IC3, pin 14
Controller B3
Controller B11
Controller B12
Controller B15
Controller B29
AMIGA 10 +12 Volts Controller B9 +12 Volts
AMIGA 75 D0 Controller A9 D0
AMIGA 77 D1 Controller A8 D1
AMIGA 79 D2 Controller A7 D2
AMIGA 81 D3 Controller A6 D3
AMIGA 83 D4 Controller A5 D4
AMIGA 86 D5 Controller A4 D5
AMIGA 84 D6 Controller A3 D6
AMIGA 82 D7 Controller A2 D7
AMIGA 29 A1 Controller 31 A0
AMIGA 27 A2 Controller 30 A1
AMIGA 26 A3 Controller 29 A2
AMIGA 24 A4 Controller 28 A3
AMIGA 21 A5 Controller 27 A4
AMIGA 23 A6 Controller 26 A5
AMIGA 28 A7 Controller 25 A6
AMIGA 30 A8 Controller 24 A7
AMIGA 32 A9 Controller 23 A8
AMIGA 34 A10 Controller 22 A9
AMIGA 36 A11 Controller 21 A10
AMIGA 38 A12 Controller 20 A11
AMIGA 39 A13 Controller 19 A12
AMIGA 41 A14 Controller 18 A13
AMIGA 43 A15 Controller 17 A14
- 8 -
FROM SIGNAL TO SIGNAL
======= ====== =================== ======
AMIGA 74 *AS IC1, pin 1
AMIGA 45 A16 IC1, pin 2
AMIGA 52 A18 IC1, pin 4
AMIGA 56 A20 IC1, pin 6
AMIGA 58 A21 IC1, pin 8
AMIGA 59 A23 IC1, pin 11
AMIGA 57 A22 IC1, pin 13
AMIGA 54 A19 IC1, pin 15
AMIGA 47 A17 IC1, pin 17
AMIGA 70 *LDS IC2, pin 2
IC2, pin 3
AMIGA 68 R/*W IC2, pin 4
IC3, pin 3
AMIGA 53 *Reset IC3, pin 9
IC3, pin 12 Controller B14 *IOR
IC3, pin 6 Controller B13 *IOW
IC3, pin 8 Controller B2 RESET
IC3, pin 4 IC2, pin 13
IC1, pin 19 IC2, pin 1
IC2, pin 5
IC2, pin 12 IC3, pin 13
IC2, pin 6 IC3, pin 5
It took me about 3 hours to wire wrap (pencil) my prototype. It
actually took about 8 hours to make the PC board, but it is
neater. Both worked the same, but the PC board version did work
the first time, while the wire wrap took many hours of debugging.
- 9 -
Definition of the PC controller bus. To Determine front to back,
hold the disk controller in front of you with the edge board
connector pointed down and the components on the right side.
In this position, the front of the controller is the part of
the controller closest to you, the rear is farthest away.
Rear of Controller
Ground --- B1 A1 --- *I/O Channel Check (nu)
Reset --- B2 A2 --- Data bit 7
+5 Volts --- B3 A3 --- Data bit 6
IRQ2 (nu) --- B4 A4 --- Data bit 5
-5 Volts (nu) --- B5 A5 --- Data bit 4
DRQ2 (nu) --- B6 A6 --- Data bit 3
-12 Volts (nu) --- B7 A7 --- Data bit 2
(nu) --- B8 A8 --- Data bit 1
+12 Volts --- B9 A9 --- Data bit 0
Ground --- B10 A10 --- I/O Channel Ready (nu)
*Memory Write --- B11 A11 --- Address Enable (nu)
*Memory Read --- B12 A12 --- Address bit 19
*I/O Write --- B13 A13 --- Address bit 18
*I/O Read --- B14 A14 --- Address bit 17
*DACK3 (nu) --- B15 A15 --- Address bit 16
DRQ3 (nu) --- B16 A16 --- Address bit 15
*DACK1 (nu) --- B17 A17 --- Address bit 14
DRQ1 (nu) --- B18 A18 --- Address bit 13
*DACK0 (nu) --- B19 A19 --- Address bit 12
CLOCK (nu) --- B20 A20 --- Address bit 11
IRQ7 (nu) --- B21 A21 --- Address bit 10
IRQ6 (nu) --- B22 A22 --- Address bit 9
IRQ5 (nu) --- B23 A23 --- Address bit 8
IRQ4 (nu) --- B24 A24 --- Address bit 7
IRQ3 (nu) --- B25 A25 --- Address bit 6
*DACK2 (nu) --- B26 A26 --- Address bit 5
Terminal Count (nu) --- B27 A27 --- Address bit 4
Addr Latch Enb (nu) --- B28 A28 --- Address bit 3
+5 Volts --- B29 A29 --- Address bit 2
Oscillator (nu) --- B30 A30 --- Address bit 1
Ground --- B31 A31 --- Address bit 0
FRONT OF CONTROLLER
Please note that the component side of the controller is the
A-side of the connector and the B side is the solder side. (nu)
indicates this is not actively used by the controller.
- 10 -
Chapter 4
CHECKOUT
****************** THIS IS IMPORTANT ******************
******************* DON'T SKIP THIS *******************
With an ohmmeter, verify ALL connections. Pay particular
attention to the ground, 5 volt and 12 volt connections.
With the ohmmeter verify that there are NO connections between
the 5 Volt lines and ground, the 12 Volt lines and ground, the 12
Volt line and all controller connections (except the one
expected) and lastly the 12 Volt line and the 5 Volt line.
*****************************************************************
*** PLEASE MAKE SURE YOU PERFORM THE PREVIOUSLY OUTLINED ***
*** CHECKOUT!!!! I DIDN'T AND IT COST ME 3 DISK CONTROLLER ***
*** BOARDS!!! ***
*****************************************************************
- 11 -
Chapter 5
CONTROLLER/DISK DRIVE SELECTION
At the current time, this interface has only been tested with:
WESTERN DIGITAL's 27X and XT-GEN2 series, PC-XT 8-bit bus
disk controllers.
The 27X series is an RLL controller while the XT-GEN2 is a MFM
controller. What does this mean to you? Well, the 27X, for $10
more, will provide approximately 50% more disk capacity than the
XT-GEN2.
With the demonstration version of this project, both will provide
the same capacity, 10 Megabytes. Once registered, however,
you'll be able to take advantage of the the additional
capability.
Why then would you use the XT-GEN? Supposedly, it should be used
with a certified RLL drive. Currently I'm using it with a
Micropolis 33 Meg non-certified RLL drive and yet to have a
reported error, and it gives me 53 Meg of space. Friends have
reported similar success. But, if you believe the manufactures,
I'm risking a massive failure. Since I backup regularly, I take
the risk for the additional storage.
While it is anticipated that other PC-XT 8-bit bus disk
controllers should work, I have as yet tested any and don't
expect to. I will, however, make available information regarding
other controllers if you all will keep me informed. If you happen
to try one, it may work. If it does let me know and I'll share
it with others.
- 12 -
Chapter 6
INSTALLATION
Section 6.1 Hardware
Install the adapter card on the Amiga's expansion port. Install
the hard disk controller, making sure that it is properly
oriented. Refer to the layout.iff picture to determine the
connector numbering and verify that it matches your layout.
The hard disk controller requires two ribbon cables, in the case
of the specified Western Digital 27X series controller, a 34-
conductor control cable should be connected to connector J1 and a
20-conductor data cable should be connected to J2.
Since there are different hardware configurations for the 27X
series, if controller configuration jumpers are available, they
should be set as follows:
1. BIOS ROM Disabled (sorry but the Amiga can't use a PC
BIOS).
2. Primary Addressing Enabled (Card address 320 through 323
hex).
3. Neither IRQ2 or IRQ5 are used (any selection acceptable).
4. Primary Controller (I don't think this matters and mainly
relates to the BIOS ROM which is disabled).
5. Firmware translation disabled (I don't think this matters
either as it probably relates to the ROM too).
Now that you're confused, I used mine as it came from the box
with no problems. But if you have problems, you might try this
setup.
Now attach the other ends of the ribbon cables to their
appropriate connectors on the disk drive. Attach a disk power
supply to the disk drive.
As far as power is concerned, my standard Amiga power supply was
able to power my 500, 512k expansion module and the disk
controller. The disk had to be powered separately. I ended up
adapting a PC-clone power supply to allow me to power my entire
system, including the Amiga. I even purchased a clone PC cabinet
to hold my external (self-built) 3.5 inch drive and my hard disk.
This project should be appearing in the Public Domain shortly, if
not yet.
- 13 -
Congratulations! The entire hardware installation is complete.
Section 6.2 Testing and Low-Level Formatting
From the CLI, enter install.ByNeryDemo. Hard Disks require to be
low-level formatted. This is not to be confused with AmigaDos's
format. This operation prepares the disk to be compatible with
the controller. To perform this operation select format from
the list. The requested parameter, Interleave, is the number of
sectors that must be skipped between consecutive reads are
performed. My testing indicates an interleave of 10-12 (RLL)
yields the best performance. At this time, request 12 and press
the carriage return.
At this point the drive light should light. It's time for a cup
of coffee. This operation can take up to 10 minutes. Once the
Drive light goes out, the operation is complete.
Now, from the menu of install.ByNeryDemo, try reading and writing
some sectors. For the public domain version, the acceptable
ranges are:
HEADS: 0 to 3
Cylinders: 0 to 305
Sectors: 1 to 16
After playing with it for a while, you are ready to install the
driver add a mountlist entry. Move on to the next chapter for
this information.
Section 6.3 Software Installation
1. Make a copy of your boot disk and put the original away!
2. Copy the file, pcif.device, in the Devs drawer of the new
boot disk.
3. CD to the new disk's Devs directory.
4. Using your favorite editor:
a) Edit the mountlist file
b) Go to the end of the file
- 14 -
c) Add the following (make sure that when entering "dh0:
Device =" line, that Capitalization of ByNeryDemo.device
is exactly as shown.
/*
** pcif.device - hard disk definition.
*/
dh0: Device = ByNeryDemo.device
Unit = 0
Flags = 0
Surfaces = 4
BlocksPerTrack = 17
Reserved = 2
Interleave = 0
LowCyl = 0 ; HighCyl = 305
Buffers = 30
BufMemType = 0
#
d) write the file and exit the editor.
5. After write completes, reboot your Amiga (Ctrl-Amiga-Amiga).
6. Open a cli after boot completes.
7. Type "mount dh0:"
8. Type "system/format drive dh0: name AnyName QUICK
You have now completed the installation of the disk. Try copying
files to it and looking at it with dir. You can now modify your
S:Startup-Sequence file to automatically mount it by adding
"mount dh0:" in the startup file.
In case your wondering, yes you can modify the mountlist and
utilize the drive with the FFS (Fast File System). And you will
notice a significant performance improvement. Just don't forget,
after modifying the mountlist you must perform step 8 above again
(format it). You can also play with the low-level format to try
to optimize the performance of the disk, using any of the
available disk performance programs.
From this point on, your on your own. You can use this as any
disk would be used. If your interested in the full featured
driver/setup program, please see the next chapter and register.
If you wish to contact me, I am available on Compuserve, ID:
76662,3651
Please do not request ready made units, I currently do not plan
on manufacturing them, at this time. Also please understand that
my main support will be to those registered users.
- 15 -
Chapter 7
REGISTRATION
Please PRINT clearly.
NAME: _______________________________________________
STREET: _______________________________________________
CITY: ______________________________ STATE: _________
COUNTRY: __________________
ZIP CODE: ______
Requested Information Questionnaire:
What Controller Did You Use? _____________________________
Did you have problems? ____YES ____NO
Would you purchase a PC board if available?
____YES ____NO
Would a cost of $25 be excessive?
____YES ____NO
Comments?_________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
Enclosed is $30.00 to register my usage of Product ByNery's
Amiga 500 - to - IBM style Hard Disk Interface
Please send my registration kit and add me to your
support/notification list.
Send this form, and a check made payable to Products ByNery, to:
Products ByNery
14 Chambers Court
Mansfield, Ma 02048
- 16 -